1. Field of the Invention
This invention generally relates to semantic web technology, and more specifically, to methods and systems for controlling access to semantic web statements. Even more specifically, the invention relates to such methods and systems that are particularly well suited for use with the Resource Description Framework (RDF) language.
2. Background Art
RDF is a language used to represent information, particularly meta data, about resources available in the World Wide Web. For example, RDF may be used to represent copyright or licensing information about a document on the Web, or the author and title of a particular Web page. RDF can also be employed for representing data or meta data about items or matters that can be identified on the World Wide Web even though these items cannot be directly retrieved from the Web. Examples of these latter items may include data about a user's Web preferences, and information, such as the price and availability, of items for sale at on-line shopping facilities. Specifications for RDF are established by the World Wide Web Consortium.
RDF uses identifiers, referred to as Uniform Resource Identifiers, or URIs, and is based on a specific terminology. An RDF statement includes a subject, a predicate and an object. The subject identifies the thing, such as person or Web page, that the statement is about. The predicate identifies the property or characteristic, such as title or owner, of the subject of the RDF statement, and the object identifies a value of that property or characteristic. For example, if the RDF statement is about pet owners, the subject might be “owner,” the predicate could be “name,” and the object could be “Joe.” This format, among other advantages, allows RDF to represent statements as a graph of nodes and arcs. In the graph, the subjects and objects may be represented by, for example, ovals, circles or squares, or some combination thereof, while the predicates of the RDF statements may be represented by arcs or arrows connecting the subject of each statement with the object of the statement.
An important feature of RDF is that it provides a common framework for expressing information. This allows this information to be exchanged among applications without losing any meaning of the information. Because of this common framework, application developers can utilize the availability of common tools and parsers to process RDF information.
RDF data access requests in conventional systems are defined by “Triple Patterns,” which limit the RDF statement(s) they are requesting by constraining any or all of the three parts of an RDF statement: the subject, predicate and object. For example, the triple pattern “(<Person001>, <name>, ?)” requests only RDF statements where the subject is “Person001,” and the predicate is “name” (the “?” for the object is used as a wildcard and means the object can be anything).
A number of RDF storage systems are built on top of relational databases. In such systems, RDF statements are stored in relational database tables created specifically to hold RDF. Conventional RDF repositories include a data access subsystem to control user access to the RDF statements. While granular access control is found in many enterprise level systems, conventional RDF storage systems have not defined RDF statement level access control, nor have any systems defined access control semantically via RDF statements. As a result, no conventional RDF storage systems can provide different users with views of a RDF graph depending on their read access rights.